#include<cairo.h>
#include<math.h>


int
main(int argc, char* argv[]){
  cairo_surface_t *sfc = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 1600, 800);
  cairo_t * cr = cairo_create(sfc);

  cairo_set_line_width(cr, 4);
  cairo_move_to(cr, 800, 0);
  cairo_line_to(cr, 1600, 390);
  cairo_line_to(cr, 0, 390);


  cairo_rectangle(cr, 10,400, 600, 390);

  cairo_arc(cr, 1000,600,190, 0,2*M_PI);

  // 既然有保留路径的画线，肯定也有保留路径的填充：
  cairo_fill_preserve(cr);

  // 设置“源”为纯红色
  cairo_set_source_rgb(cr, 1, 0, 0);
  // 未设置时，默认“源”为纯黑色

  cairo_stroke(cr);

  cairo_surface_write_to_png(sfc, "b.png");

  return 0;
}//main

